Public cloud systems have become increasingly popular in recent years. The cloud services provided by public cloud systems have transformed the information technology (IT) industry as customers have moved on-site IT infrastructures into public clouds. Ease of provisioning has contributed to the popularity of the public cloud new model. In many cases, a user can create a “virtual machine” with a fully installed operating system and various applications pre-installed, with just a few clicks of a mouse. Typically, the user can also select how much processing capacity and storage capacity the virtual machine will have at the time the virtual machine is created.
On-demand allocation of processing and storage resources allows a user to allocate only the amount of resources that are expected to be required by a particular application. For example, a user of a particular database application can forecast the maximum storage capacity that will be needed and allocate storage capacity to meet that requirement (and no more). In a specific example, if a user expects a particular database application to need a maximum storage capacity of 300 GB, the user can request an allocation of 300 GB of storage capacity for the database application. The cloud services system then allocates 300 GB for the application. This on-demand capability enables users to avoid expenditures for processing and storage capacity that will most likely never be used.